#include <stdio.h>
#include <string.h>
#include <unistd.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <fcntl.h>

int main()
{
	// 1、创建管道，一般在/tmp目录下创建
	if(mkfifo("/tmp/fifo",0644))
	{
		perror("mkfifo");
		return -1;
	}

	// 2、打开管道
	int fd = open("/tmp/fifo",O_WRONLY);
	if(0 > fd)
	{
		perror("open");
		return -1;
	}

	// 3、写数据
	char buf[1024] = {};
	for(;;)
	{
		printf(">");
		gets(buf);
		write(fd,buf,strlen(buf)+1);

		if(0 == strcmp("quit",buf))
		{
			printf("通信完成!\n");
			break;
		}
	}

	// 4、关闭管道
	close(fd);
	// 5、删除管道
	unlink("/tmp/fifo");
}
